package com.myarray;

import java.util.Scanner;

public class DemoTest6 {
    /*
        需求:在编程竞赛中,有六位评委为参赛的选手打分,分数为0-100的整数分.
                选手最后的得分为:去掉一个最高分去掉一个最低分剩下的四个取平均分.

        思路:
            1.定义一个数组,用动态初始化完成数组元素的初始化,长度为6
            2.键盘录入评委打分,所以,接收评委分数的操作,用循环.
            3.由于是六个评委打分的,所以接评委分数用循环
            4.求出数组的最大值
            5.求出数组的最小值
            6.求出数组总和
            7.按照计算规则进行计算得到的平均分
            8.输出平均分
    * */
    public static void main(String[] args) {
//        1.定义一个数组,用动态初始化完成数组元素的初始化,长度为6
        int[] arr = new int[6];
//        2.键盘录入评委打分,所以,接收评委分数的操作,用循环.
        Scanner sc  = new Scanner(System.in);
//        3.由于是六个评委打分的,所以接评委分数用循环
        for (int i = 0; i < 6; i++) {
            System.out.println("请第"+(i+1)+"个评委打分(输入0-100的整数)");
            int A = sc.nextInt();
            if(A>=0&&A<=100){
                arr[i] = A ;
            }else{
                System.out.println("输入的分数格式不对");
                i--;
            }
        }

//        求最大分数
        int max = arr[0];
        for (int i = 1; i < 6; i++) {
            if(max<arr[i]){
                max=arr[i];
            }
        }
        System.out.println("最大的分数为:"+max);

//        求最小分数
        int min = arr[0];
        for (int i = 1; i < 6; i++) {
            if(min >arr[i]){
                min =arr[i];
            }
        }
        System.out.println("最小的分数为:"+ min);

//       求剩下四个数的平均分
        int sum = 0;
        for (int i = 0; i < arr.length; i++) {
            sum += arr[i];
        }

//        按照规则算出平均分
        double avg = (sum-max-min)/4;
        System.out.println("平均分 = " + avg);
    }
}
